SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROC [dbo].[SP_TXMVTO_CNTB_Q30]
/*-------------------------------------------------------------------*/
/*----- Empresa           : OFISIS S.A.                          ----*/
/*----- Cliente           : OFISIS S.A.                          ----*/
/*----- Sistema           : Contabilidad                         ----*/
/*----- Modulo            : Empresa                              ----*/
/*----- Programa          : Reporte Libro Mayor General          ----*/
/*----- Nombre            : SP_TXMVTO_CNTB_Q12                   ----*/
/*----- Script            : TXMVTO_CNTB                          ----*/
/*----- Desarrollado por  : Israel Estrada Polanco               ----*/
/*----- Fecha             : 11/10/1997                           ----*/
/*----- Base de Datos     : MS SQL Server                        ----*/
/*----- Version BD        : 2000                                 ----*/
/*-------------------------------------------------------------------*/
/*-------------------------------------------------------------------*/
/*----- Comentarios       : Reporte por Auxiliares               ----*/
/*-------------------------------------------------------------------*/
/*-------------------------------------------------------------------*/
/*----- Drop proc SP_TXMVTO_CNTB_Q12                             ----*/
/*----- Grant all on SP_TXMVTO_CNTB_Q30 to PUBLIC                ----*/
/*----- SP_TXMVTO_CNTB_Q12                                       ----*/
/*-------------------------------------------------------------------*/

@ISCO_EMPR		TD_VC_002,
@INNU_CNTB_EMPR		TD_IN_001_CONT,
@INNU_ANNO		TD_IN_004_ANNO,
@INNU_MESE_INIC         TD_IN_002_MESE,
@INNU_MESE_FINA         TD_IN_002_MESE,
@ISCO_MONE		TD_VC_003,
@ISCO_UNID_CNTB		TD_VC_003,
@ISCO_OPRC_CNTB		TD_VC_003,
@ISCO_CNTA_EMP1		TD_VC_020_CNTA,
@ISCO_CNTA_EMP2		TD_VC_020_CNTA,
@ISTI_AUXI_EMPR		TD_VC_001,
@ISCO_AUXI_EMP1		TD_VC_020,
@ISCO_AUXI_EMP2		TD_VC_020,
@INNV_INFO_CNTA		TD_IN_001,
@ISTI_REPO		TD_VC_003,
@ISNO_USUA		TD_VC_050,
@ISCA_WHER              Varchar(8000) 

As
 
Create Table #TWMVTO_CNTB_Q12_1
(NU_MESE_QUIE      int NULL,
 CO_CNTA_EMPR      VarChar(20) NULL,
 DE_CNTA_EMPR	   Char(50) NULL, 
 TO_CARG	   Numeric(16,4)    NULL,
 TO_ABON           Numeric(16,4)    NULL,
 NU_MESE	   int NULL,
 FE_ASTO_CNTB	   Datetime NULL, 
 NU_SECU	   int NULL,
 CO_CNTB_EMP1	   VarChar(20) NULL, 
 TI_AUXI_EMPR	   Char(01) NULL,
 CO_AUXI_EMPR	   Varchar(20) NULL, 
 CO_UNID_CNTB	   Char(03) NULL,
 CO_OPRC_CNTB	   Char(03) NULL, 
 NU_ASTO	   Char(10) NULL,
 TI_DOCU	   Char(03) NULL, 
 NU_DOCU	   Char(20) NULL,
 FE_DOCU	   Datetime NULL, 
 DE_GLOS	   Varchar(100) NULL,
 DEBE		   Numeric(16,4)    NULL, 
 HABER		   Numeric(16,4)    NULL,
 CO_TABL_ORIG      INT NULL, 
 CO_CLAV_TAOR      VARCHAR(100) NULL,
 CO_ORDE_SERV     char(20) NULL	  )

Declare 
@VSCO_MONE_CONT   TD_VC_003,
@CSTI_AUXI        TD_VC_010, 
@CSCO_CNTA        TD_VC_020_CNTA,
@CSNO_CNTA        TD_VC_050, 
@CNIM_CARG        TD_NU_016_004,
@CNIM_ABON	  TD_NU_016_004,	
@VNNU_MESE        TD_IN_001,	
@VDFE_TRAB        TD_DT_001,
@VNNU_SECU	  TD_IN_002, 
@VSCO_CNTA        TD_VC_020_CNTA, 
@VSTI_AUXI        TD_VC_001,
@VSCO_AUXI	  TD_VC_020, 
@VSCO_UNID        TD_VC_003, 
@VSCO_OPRC        TD_VC_003,
@VSNU_ASTO	  TD_VC_010, 
@VSTI_DOCU        TD_VC_003, 
@VSNU_DOCU        TD_VC_020,
@VDFE_DOCU	  TD_DT_001, 
@VSDE_GLOS        TD_VC_100, 
@VNIM_DEBE        TD_NU_016_004, 
@VNIM_HABE	  TD_NU_016_004, 
@VSDE_CMD1        Char(255), 
@VSDE_CMD2        Char(255),
@VNIM_SALD_CARG   TD_NU_016_004, 
@VNIM_SALD_ABON   TD_NU_016_004,  
@VNIM_CARG_INIC   TD_NU_016_004,
@VNIM_ABON_INIC   TD_NU_016_004
/*----------- R E P O R T E S   D E   A U X I L I A R -------------*/

IF DATALENGTH(LTRIM(RTRIM(ISNULL(@ISCO_AUXI_EMP1,'')))) = 0
   SELECT @ISCO_AUXI_EMP1 = MIN(CO_AUXI_EMPR)
   FROM TMAUXI_EMPR
   WHERE CO_EMPR = @ISCO_EMPR
   AND 	TI_AUXI_EMPR = @ISTI_AUXI_EMPR

IF DATALENGTH(LTRIM(RTRIM(ISNULL(@ISCO_AUXI_EMP2,'')))) = 0
   SELECT @ISCO_AUXI_EMP2 =  MAX(CO_AUXI_EMPR)
   FROM TMAUXI_EMPR
   WHERE CO_EMPR = @ISCO_EMPR
   AND 	TI_AUXI_EMPR = @ISTI_AUXI_EMPR

Select @VSCO_MONE_CONT = CO_MONE From TTCNTB_EMPR 
Where 
CO_EMPR      = @ISCO_EMPR And
NU_CNTB_EMPR = @INNU_CNTB_EMPR
If @ISCO_MONE = @VSCO_MONE_CONT And @ISCO_CNTA_EMP1 = '' And @ISCO_CNTA_EMP2 = '' 
   Begin
    Select @VNNU_MESE = @INNU_MESE_INIC
    While @VNNU_MESE <= @INNU_MESE_FINA
	
      Begin
	If IsNull(@ISCO_AUXI_EMP1, '') = '' And IsNull(@ISCO_AUXI_EMP2, '') = ''
        Begin
	  Declare CU_TXMVTO_CNTB_Q12_1 Cursor
	  For
	  Select CUENTA = T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR, NOMBRE = MAX(T2.NO_AUXI),
	         CARGO_SOLES = ISNULL(SUM(Isnull(T1.IM_CARG_CNTB, 0)),0), 
	         ABONO_SOLES = ISNULL(SUM(Isnull(T1.IM_ABON_CNTB, 0)),0)
	  From TMAUXI_EMPR T2
	    Left Outer Join TASALD_EMPR T1
	    On T1.CO_EMPR       = T2.CO_EMPR
            And T1.NU_CNTB_EMPR = @INNU_CNTB_EMPR
	    And T1.NU_ANNO	= @INNU_ANNO
	    And T1.NU_MESE	< @VNNU_MESE
	    And DATALENGTH(RTRIM(T1.CO_CNTA_EMPR)) = @INNV_INFO_CNTA 
	    And T1.TI_AUXI_EMPR = T2.TI_AUXI_EMPR 
	    And T1.CO_AUXI_EMPR = T2.CO_AUXI_EMPR
	  Where	T2.CO_EMPR = @ISCO_EMPR 
	  And	T2.TI_AUXI_EMPR  = @ISTI_AUXI_EMPR 
	  Group By T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR
	  Order By T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR
		
        Open CU_TXMVTO_CNTB_Q12_1
		Fetch CU_TXMVTO_CNTB_Q12_1 Into @CSTI_AUXI, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON
		If @CSTI_AUXI IS NULL And @CSCO_CNTA  IS NULL And @CSNO_CNTA  IS NULL And 
		   @CNIM_CARG   IS NULL And @CNIM_ABON  IS NULL
                   Begin
		     Close CU_TXMVTO_CNTB_Q12_1
		     Deallocate CU_TXMVTO_CNTB_Q12_1
		     Declare CU_TXMVTO_CNTB_Q12_1 Cursor
		     For
		     Select CUENTA = T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR,
			    NOMBRE = MAX(T2.NO_AUXI),
			    CARGO_SOLES = 0, 
			    ABONO_SOLES = 0
		    From TMAUXI_EMPR T2
		    Where T2.CO_EMPR	 = @ISCO_EMPR      And
                    T2.TI_AUXI_EMPR  = @ISTI_AUXI_EMPR 
		    Group By T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR
		    Order By T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR
                   End
		/*Else
		   Begin
		     Close CU_TXMVTO_CNTB_Q12_1
		   End*/
        End
     Else If IsNull(@ISCO_AUXI_EMP1, '')!= '' And IsNull(@ISCO_AUXI_EMP2, '') != ''
      Begin
       Declare CU_TXMVTO_CNTB_Q12_1 Cursor
       For
       Select CUENTA = T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR,
              NOMBRE = MAX(RTRIM(T2.NO_AUXI)),
	      CARGO_SOLES = Isnull(SUM(Isnull(T1.IM_CARG_CNTB, 0)), 0), 
	      ABONO_SOLES = Isnull(SUM(Isnull(T1.IM_ABON_CNTB, 0)), 0)
       From TMAUXI_EMPR T2
	     Left Outer Join TASALD_EMPR T1
	     On T1.CO_EMPR       = T2.CO_EMPR
	     And  T1.NU_CNTB_EMPR  = @INNU_CNTB_EMPR
	     And  T1.NU_ANNO       = @INNU_ANNO
	     And  T1.NU_MESE       < @VNNU_MESE
	     And  DATALENGTH(RTRIM(T1.CO_CNTA_EMPR)) = @INNV_INFO_CNTA 
	     And  T1.TI_AUXI_EMPR  = T2.TI_AUXI_EMPR 
	     And  T1.CO_AUXI_EMPR  = T2.CO_AUXI_EMPR
       Where T2.CO_EMPR = @ISCO_EMPR
       And  T2.TI_AUXI_EMPR  = @ISTI_AUXI_EMPR
       And  T2.CO_AUXI_EMPR Between @ISCO_AUXI_EMP1 And @ISCO_AUXI_EMP2 
       Group By T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR
       Order By T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR
     End

     Open CU_TXMVTO_CNTB_Q12_1
     Fetch CU_TXMVTO_CNTB_Q12_1 Into @CSTI_AUXI, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON
     While @@Fetch_status = 0
           Begin
	     If IsNull(@ISCO_UNID_CNTB, '')= '' And IsNull(@ISCO_OPRC_CNTB, '') = ''
                Begin
                  Insert Into #TWMVTO_CNTB_Q12_1 (NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR,TO_CARG,TO_ABON,
                                             NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR, CO_AUXI_EMPR, 
                                             CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO,TI_DOCU,NU_DOCU,FE_DOCU, 
                                             DE_GLOS,DEBE,HABER, CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV )
                  Select @VNNU_MESE, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON,NU_MESE, FE_ASTO_CNTB, 
                         NU_SECU, TI_AUXI_EMPR, CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, 
                         NU_ASTO,TI_DOCU, NU_DOCU, FE_DOCU, DE_GLOS,
                         (ASCII(TI_OPER)/67)*Round(IM_MVTO_CNTB,2),
                         (65/ASCII(TI_OPER))*Round(IM_MVTO_CNTB,2),
			 CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV 
                  From TXMVTO_CNTB
                  Where CO_EMPR      = @ISCO_EMPR      And
			NU_CNTB_EMPR = @INNU_CNTB_EMPR And
			NU_ANNO       = @INNU_ANNO       And
			NU_MESE       = @VNNU_MESE       And
			TI_AUXI_EMPR = @CSTI_AUXI      And 
			CO_AUXI_EMPR = @CSCO_CNTA       And
			SI_MVTO_CNTB = 'APR'
                End
             Else 
               If IsNull(@ISCO_UNID_CNTB, '') != '' And IsNull(@ISCO_OPRC_CNTB, '') != ''
                  Begin
		    Insert Into #TWMVTO_CNTB_Q12_1 (NU_MESE_QUIE, CO_CNTA_EMPR, 
			DE_CNTA_EMPR, TO_CARG,TO_ABON,
			NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR,
			CO_AUXI_EMPR, CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO, 
			TI_DOCU,NU_DOCU,FE_DOCU,DE_GLOS, DEBE,HABER,CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV)
		   Select @VNNU_MESE, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON,
			NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR, 
			CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
			TI_DOCU, NU_DOCU, FE_DOCU, DE_GLOS,
			(ASCII(TI_OPER)/67)*Round(IM_MVTO_CNTB,2),
			(65/ASCII(TI_OPER))*Round(IM_MVTO_CNTB,2),
			CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV 
		   From TXMVTO_CNTB
		   Where CO_EMPR = @ISCO_EMPR      And
			 NU_CNTB_EMPR      = @INNU_CNTB_EMPR And
			 CO_UNID_CNTB      = @ISCO_UNID_CNTB And
			 CO_OPRC_CNTB      = @ISCO_OPRC_CNTB      And
			 NU_ANNO            = @INNU_ANNO       And
			 NU_MESE            = @VNNU_MESE       And
			 TI_AUXI_EMPR      = @CSTI_AUXI      And
			 CO_AUXI_EMPR      = @CSCO_CNTA       And
			 SI_MVTO_CNTB      = 'APR'
                  End
 Else 
If IsNull(@ISCO_UNID_CNTB, '') != '' And IsNull(@ISCO_OPRC_CNTB, '') = ''
 Begin
     Insert Into #TWMVTO_CNTB_Q12_1 (NU_MESE_QUIE, CO_CNTA_EMPR, 
	DE_CNTA_EMPR,TO_CARG,TO_ABON,
	NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR,
	CO_AUXI_EMPR, CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO, 
	TI_DOCU,NU_DOCU,FE_DOCU, DE_GLOS,DEBE,HABER, CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV )
     Select @VNNU_MESE, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON,
	NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR, 
	 CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
	TI_DOCU, NU_DOCU, FE_DOCU, DE_GLOS,
	(ASCII(TI_OPER)/67)*Round(IM_MVTO_CNTB,2),
	(65/ASCII(TI_OPER))*Round(IM_MVTO_CNTB,2),
	CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV 
  From TXMVTO_CNTB
  Where CO_EMPR     = @ISCO_EMPR  And
	NU_CNTB_EMPR = @INNU_CNTB_EMPR And
	CO_UNID_CNTB = @ISCO_UNID_CNTB And
	NU_ANNO       = @INNU_ANNO       And
	NU_MESE       = @VNNU_MESE       And
	TI_AUXI_EMPR = @CSTI_AUXI      And
	CO_AUXI_EMPR = @CSCO_CNTA       And
	SI_MVTO_CNTB = 'APR'
 End
Else 
 If IsNull(@ISCO_UNID_CNTB, '') = '' And IsNull(@ISCO_OPRC_CNTB, '') != ''
 Begin
  Insert Into #TWMVTO_CNTB_Q12_1 (NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR,TO_CARG,TO_ABON,
       NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR,
       CO_AUXI_EMPR, CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO, 
       TI_DOCU,NU_DOCU,FE_DOCU,DE_GLOS, DEBE,HABER , CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV  )
    Select @VNNU_MESE, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON,
       NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR, 
       CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
       TI_DOCU, NU_DOCU, FE_DOCU, DE_GLOS,
       (ASCII(TI_OPER)/67)*Round(IM_MVTO_CNTB,2),
       (65/ASCII(TI_OPER))*Round(IM_MVTO_CNTB,2),
	CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV 
      From TXMVTO_CNTB
      Where CO_EMPR     = @ISCO_EMPR      And
         NU_CNTB_EMPR = @INNU_CNTB_EMPR And
         CO_OPRC_CNTB = @ISCO_OPRC_CNTB      And
         NU_ANNO    = @INNU_ANNO       And
         NU_MESE       = @VNNU_MESE       And
         TI_AUXI_EMPR = @CSTI_AUXI      And
         CO_AUXI_EMPR = @CSCO_CNTA       And
         SI_MVTO_CNTB = 'APR'
 End
 Fetch CU_TXMVTO_CNTB_Q12_1 Into @CSTI_AUXI, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON
End
Close CU_TXMVTO_CNTB_Q12_1
Deallocate CU_TXMVTO_CNTB_Q12_1

 Select @VNNU_MESE = @VNNU_MESE + 1
End

End
             /*--- DIFERENTE A LA MONEDA DE LA CONTABILIDAD ---*/
If @ISCO_MONE != @VSCO_MONE_CONT And @ISCO_CNTA_EMP1 = '' And @ISCO_CNTA_EMP2 = ''
Begin

Select @VNNU_MESE = @INNU_MESE_INIC
 While @VNNU_MESE <= @INNU_MESE_FINA
  Begin

If IsNull(@ISCO_AUXI_EMP1, '') = '' And IsNull(@ISCO_AUXI_EMP2, '') = ''
 Begin
  Declare CU_TXMVTO_CNTB_Q12_1 Cursor
   For
     Select	TIPO_AUXI = T2.TI_AUXI_EMPR, AUXILIAR = T2.CO_AUXI_EMPR, NOMBRE = MAX(RTRIM(T2.NO_AUXI)),
       CARGO_ORIGEN = Isnull(SUM(Isnull(T1.IM_CARG_ORIG, 0)), 0), 	
       ABONO_ORIGEN = Isnull(SUM(Isnull(T1.IM_ABON_ORIG, 0)), 0)
     From TMAUXI_EMPR T2
	Left Outer Join TASALD_EMPR T1
	On  T1.CO_EMPR = T2.CO_EMPR
        And   T1.NU_CNTB_EMPR = @INNU_CNTB_EMPR
        And   T1.NU_ANNO      = @INNU_ANNO
        And   T1.NU_MESE      < @VNNU_MESE
        And   DATALENGTH(RTRIM(T1.CO_CNTA_EMPR)) = @INNV_INFO_CNTA
        And   T1.TI_AUXI_EMPR = T2.TI_AUXI_EMPR
        And   T1.CO_AUXI_EMPR = T2.CO_AUXI_EMPR
     Where T2.CO_EMPR = @ISCO_EMPR
     And   T2.TI_AUXI_EMPR  = @ISTI_AUXI_EMPR
     Group By T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR
     Order By T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR
  End
 If IsNull(@ISCO_AUXI_EMP1, '') != '' And IsNull(@ISCO_AUXI_EMP2, '') != ''
  Begin
    Declare CU_TXMVTO_CNTB_Q12_1 Cursor
    For
      Select	TIPO_AUXI = T2.TI_AUXI_EMPR, AUXILIAR = T2.CO_AUXI_EMPR,
        NOMBRE = MAX(RTRIM(T2.NO_AUXI)),
        CARGO_ORIGEN = Isnull(SUM(Isnull(T1.IM_CARG_ORIG, 0)), 0), 	
        ABONO_ORIGEN = Isnull(SUM(Isnull(T1.IM_ABON_ORIG, 0)), 0) 
      From TMAUXI_EMPR T2
		Left Outer Join TASALD_EMPR T1
		On  T1.CO_EMPR = T2.CO_EMPR  
		And T1.NU_CNTB_EMPR = @INNU_CNTB_EMPR 
		And T1.NU_ANNO	= @INNU_ANNO 
		And T1.NU_MESE 	< @VNNU_MESE 
		And DATALENGTH(RTRIM(T1.CO_CNTA_EMPR)) = @INNV_INFO_CNTA 
		And T1.TI_AUXI_EMPR = T2.TI_AUXI_EMPR 
		And T1.CO_AUXI_EMPR = T2.CO_AUXI_EMPR
      Where	T2.CO_EMPR = @ISCO_EMPR     
	  And   T2.TI_AUXI_EMPR  = @ISTI_AUXI_EMPR  
	  And   T2.CO_AUXI_EMPR Between @ISCO_AUXI_EMP1 And @ISCO_AUXI_EMP2
      Group By T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR
      Order By T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR
    End
   Open CU_TXMVTO_CNTB_Q12_1
   Fetch CU_TXMVTO_CNTB_Q12_1 Into @CSTI_AUXI, @CSCO_CNTA,  @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON
While @@Fetch_status = 0
 Begin
  If IsNull(@ISCO_UNID_CNTB, '') = '' And IsNull(@ISCO_OPRC_CNTB, '') = ''
   Begin
     Insert Into #TWMVTO_CNTB_Q12_1 (NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR,TO_CARG,TO_ABON,
         NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR, CO_AUXI_EMPR,  
         CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO, TI_DOCU,NU_DOCU,FE_DOCU, DE_GLOS,DEBE,HABER,
	 CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV )
     Select @VNNU_MESE, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON, 
         NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR, 
         CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
         TI_DOCU, NU_DOCU, FE_DOCU, DE_GLOS,
        (ASCII(TI_OPER)/67)*Round(IM_MVTO_ORIG,2),
        (65/ASCII(TI_OPER))*Round(IM_MVTO_ORIG,2),
	CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV 
     From TXMVTO_CNTB 
     Where	
         CO_EMPR      = @ISCO_EMPR      And
         NU_CNTB_EMPR = @INNU_CNTB_EMPR And
         NU_ANNO       = @INNU_ANNO       And
         NU_MESE  = @VNNU_MESE       And
         TI_AUXI_EMPR = @CSTI_AUXI      And
         CO_AUXI_EMPR = @CSCO_CNTA       And
         SI_MVTO_CNTB = 'APR'
   End
  Else 
   If (IsNull(@ISCO_UNID_CNTB, '') != '' And IsNull(@ISCO_OPRC_CNTB, '') != '')
    Begin
     Insert Into #TWMVTO_CNTB_Q12_1 (NU_MESE_QUIE, CO_CNTA_EMPR, 
        DE_CNTA_EMPR,TO_CARG,TO_ABON,
        NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR,
        CO_AUXI_EMPR, CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO, 
        TI_DOCU,NU_DOCU,FE_DOCU,DE_GLOS,DEBE,HABER,
	CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV )
      Select @VNNU_MESE, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON, 
         NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR, 
         CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
         TI_DOCU, NU_DOCU, FE_DOCU, DE_GLOS,
         DEBE = (ASCII(TI_OPER)/67)*Round(IM_MVTO_ORIG,2),
         HABER = (65/ASCII(TI_OPER))*Round(IM_MVTO_ORIG,2),
         CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV
         From TXMVTO_CNTB 
         Where	CO_EMPR      = @ISCO_EMPR      And
          NU_CNTB_EMPR = @INNU_CNTB_EMPR And
          CO_UNID_CNTB = @ISCO_UNID_CNTB And 
		  CO_OPRC_CNTB = @ISCO_OPRC_CNTB      And
          NU_ANNO       = @INNU_ANNO       And
          NU_MESE       = @VNNU_MESE       And
          TI_AUXI_EMPR = @CSTI_AUXI      And
          CO_AUXI_EMPR = @CSCO_CNTA       And
          SI_MVTO_CNTB = 'APR'
    End
  Else 
    If IsNull(@ISCO_UNID_CNTB, '') != '' And IsNull(@ISCO_OPRC_CNTB, '') = ''
      Begin
        Insert Into #TWMVTO_CNTB_Q12_1 (NU_MESE_QUIE, CO_CNTA_EMPR, 
          DE_CNTA_EMPR,TO_CARG,TO_ABON,
          NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR,
          CO_AUXI_EMPR, CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO, 
          TI_DOCU,NU_DOCU,FE_DOCU,DE_GLOS,DEBE,HABER,
	  CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV)
        Select @VNNU_MESE, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON, 
          NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR, 
          CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
          TI_DOCU, NU_DOCU, FE_DOCU, DE_GLOS,
          DEBE = (ASCII(TI_OPER)/67)*Round(IM_MVTO_ORIG,2),
          HABER = (65/ASCII(TI_OPER))*Round(IM_MVTO_ORIG,2),
	  CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV
         From TXMVTO_CNTB 
           Where	CO_EMPR      = @ISCO_EMPR      And
             NU_CNTB_EMPR = @INNU_CNTB_EMPR And
             CO_UNID_CNTB = @ISCO_UNID_CNTB And
             NU_ANNO       = @INNU_ANNO       And
             NU_MESE       = @VNNU_MESE       And
             TI_AUXI_EMPR = @CSTI_AUXI      And
             CO_AUXI_EMPR = @CSCO_CNTA       And
             SI_MVTO_CNTB = 'APR'
      End
    Else 
     If IsNull(@ISCO_UNID_CNTB, '') = '' And IsNull(@ISCO_OPRC_CNTB, '') != ''
      Begin
        Insert Into #TWMVTO_CNTB_Q12_1 (NU_MESE_QUIE, CO_CNTA_EMPR, 
          DE_CNTA_EMPR,TO_CARG,TO_ABON,
          NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR,CO_AUXI_EMPR, 
          CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO, 
          TI_DOCU,NU_DOCU,FE_DOCU,DE_GLOS,DEBE,HABER,
	  CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV)
        Select @VNNU_MESE, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON, 
         NU_MESE, FE_ASTO_CNTB, NU_SECU, TI_AUXI_EMPR, 
         CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
         TI_DOCU, NU_DOCU, FE_DOCU, DE_GLOS,
         DEBE = (ASCII(TI_OPER)/67)*Round(IM_MVTO_ORIG,2),
         HABER = (65/ASCII(TI_OPER))*Round(IM_MVTO_ORIG,2),
	 CO_TABL_ORIG , CO_CLAV_TAOR, CO_ORDE_SERV
        From TXMVTO_CNTB 
         Where	CO_EMPR      = @ISCO_EMPR      And
          NU_CNTB_EMPR = @INNU_CNTB_EMPR And
          CO_OPRC_CNTB = @ISCO_OPRC_CNTB      And
          NU_ANNO       = @INNU_ANNO  And
          NU_MESE       = @VNNU_MESE   And
          TI_AUXI_EMPR = @CSTI_AUXI      And
          CO_AUXI_EMPR = @CSCO_CNTA       And
          SI_MVTO_CNTB = 'APR'
      End
 
    Fetch CU_TXMVTO_CNTB_Q12_1 Into @CSTI_AUXI, @CSCO_CNTA, @CSNO_CNTA, @CNIM_CARG, @CNIM_ABON
  End
 
 Close CU_TXMVTO_CNTB_Q12_1
 Deallocate CU_TXMVTO_CNTB_Q12_1

 Select @VNNU_MESE = @VNNU_MESE + 1
End

End
If @ISTI_REPO = 'AUD'	/*---- AUXILIAR ordenado por Unidad -----*/
 Begin
  Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, 
 TI_AUXI_EMPR, TO_CARG, TO_ABON,
   NU_MESE, convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CO_AUXI_EMPR, 
   CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
   TI_DOCU, NU_DOCU, convert(varchar(10),FE_DOCU,103), DE_GLOS, DEBE, HABER  ,
   CO_TABL_ORIG , CO_CLAV_TAOR, '', CO_ORDE_SERV
  From #TWMVTO_CNTB_Q12_1
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO
 End
If @ISTI_REPO = 'AOD'	/*---- AUXILIAR ordenado por Operacion -----*/
 Begin
  Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, 
     TI_AUXI_EMPR, TO_CARG, TO_ABON,
     NU_MESE, convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CO_AUXI_EMPR, 
     CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
     TI_DOCU, NU_DOCU, convert(varchar(10),FE_DOCU,103), DE_GLOS, DEBE, HABER ,
     CO_TABL_ORIG , CO_CLAV_TAOR, '', CO_ORDE_SERV
  From #TWMVTO_CNTB_Q12_1
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, CO_OPRC_CNTB, CO_UNID_CNTB, NU_ASTO
 End	
If @ISTI_REPO = 'AVD'	/*---- AUXILIAR ordenado por Voucher -----*/
 Begin
  Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, 
     TI_AUXI_EMPR, TO_CARG, TO_ABON,
     NU_MESE, convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, 
     CO_AUXI_EMPR,CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
     TI_DOCU, NU_DOCU, convert(varchar(10),FE_DOCU,103), DE_GLOS, DEBE, HABER ,
     CO_TABL_ORIG , CO_CLAV_TAOR, '', CO_ORDE_SERV
  From #TWMVTO_CNTB_Q12_1
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, NU_ASTO, CO_UNID_CNTB, CO_OPRC_CNTB
 End	
If @ISTI_REPO = 'AFD'	/*---- AUXILIAR ordenado por Fecha -----*/ 
 Begin
  Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, 
     TI_AUXI_EMPR, TO_CARG, TO_ABON,
     NU_MESE, convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CO_AUXI_EMPR, 
     CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,
     TI_DOCU, NU_DOCU, convert(varchar(10),FE_DOCU,103), DE_GLOS, DEBE, HABER ,
     CO_TABL_ORIG , CO_CLAV_TAOR, '', CO_ORDE_SERV
  From #TWMVTO_CNTB_Q12_1
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB
 End	
If @ISTI_REPO = 'AUR'
 Begin
   Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TI_AUXI_EMPR, TO_CARG = MAX(TO_CARG),
       TO_ABON = MAX(TO_ABON), 
       CO_CNTA_EMPR, DE_CNTA_EMPR, NU_MESE,DEBE = Isnull(SUM(Isnull(DEBE, 0)), 0), HABER = Isnull(SUM(Isnull(HABER, 0)), 0) 
    From #TWMVTO_CNTB_Q12_1
   Group By NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TI_AUXI_EMPR, NU_MESE 
 End
If @ISTI_REPO = 'AOR'	/*---- AUXILIAR ordenado por Operacion -----*/
 Begin
    Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TI_AUXI_EMPR, 
      TO_CARG = MAX(TO_CARG), TO_ABON = MAX(TO_ABON), CO_CNTA_EMPR,
      DE_CNTA_EMPR, NU_MESE,
      DEBE = Isnull(SUM(Isnull(DEBE, 0)), 0), HABER = Isnull(SUM(Isnull(HABER, 0)), 0) 
    From #TWMVTO_CNTB_Q12_1
    Group By NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TI_AUXI_EMPR, NU_MESE
 End	
If @ISTI_REPO = 'AVR'	/*---- AUXILIAR ordenado por Voucher -----*/
 Begin
     Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TI_AUXI_EMPR, 
       TO_CARG = MAX(TO_CARG), TO_ABON = MAX(TO_ABON), 
       CO_CNTA_EMPR, DE_CNTA_EMPR, NU_MESE,DEBE = Isnull(SUM(Isnull(DEBE, 0)), 0), HABER = Isnull(SUM(Isnull(HABER, 0)), 0) 
     From #TWMVTO_CNTB_Q12_1
   Group By NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TI_AUXI_EMPR, NU_MESE
 End	
If @ISTI_REPO = 'AFR'	/*---- AUXILIAR ordenado por Fecha -----*/
 Begin
 Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TI_AUXI_EMPR, TO_CARG = MAX(TO_CARG),
      TO_ABON =  MAX(TO_ABON),CO_CNTA_EMPR, DE_CNTA_EMPR, NU_MESE , 
      DEBE = Isnull(SUM(Isnull(DEBE, 0)), 0), HABER = Isnull(SUM(Isnull(HABER, 0)), 0) 
  From #TWMVTO_CNTB_Q12_1
  Group By NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TI_AUXI_EMPR, NU_MESE 
 End
return
/*------------------------------ Fin --------------------------------*/




GO
